Ein Vorgang, der die Knoten eines Baums von der Wurzel aus besucht und jeden einmal ausgibt, wird als Traversierung bezeichnet. Es gibt viele Möglichkeiten, die Knoten eines Baumes zu traversieren. Die beiden folgenden Listen sind mögliche Traversierungen des unten abgebildeten Baumes.
Für die Informatik sind nur systematische Traversierungen, die sich als Vorschrift beschreiben lassen, interessant: Die erste der obigen Listen traversiert die Knoten ebenenweise von links nach rechts. Eine Traversierung, die zuerst den Ebenennachbar eines Knotens besucht und erst dann die Teilbäume, bezeichnet man als Breitentraversierung. Die zweite Beispielliste beginnt bei den Blättern links unten, arbeitet sich hoch zur Wurzel und fährt dann mit den Blättern des rechten Teilbaums fort. Eine Traversierung, die von jedem Knoten zuerst die Teilbäume besucht und erst dann den Ebenennachbar, bezeichnet man als Tiefentraversierung.
Ein Binärbaum kann auf drei Arten tiefentraversiert werden:
Die Präordnungs-Traversierung gibt jeweils zuerst den Knoten selbst aus und besucht dann den linken und schliesslich den rechten Teilbaum. Da jede Traversierung bei der Wurzel beginnt, wird nach dieser Vorschrift immer als erster Knoten die Wurzel ausgegeben. Die Reihenfolge, in der die Knoten des oben abgebildeten Beispielbaumes zurückgegeben werden, ist:
m, g, d, a, e, k, s, p, x, u.
Beachten Sie, dass nach dieser Vorschrift immer alle Knoten eines linken Teilbaumes ausgegeben werden, bevor der rechte traversiert wird. Der Knoten e erscheint also vor dem Knoten k und k vor s.
Die Inordnungs-Traversierung besucht jeweils zuerst den linken Teilbaum, gibt dann den Knoten aus und besucht schliesslich den rechten Teilbaum. Die Reihenfolge, in der die Knoten des oben abgebildeten Beispielbaumes nach dieser Vorschrift aufgelistet werden, ist:
a, d, e, g, k, m, p, s, u, x.
Die Postordnungs-Traversierung schliesslich besucht jeweils zuerst die beiden Teilbäume eines Knotens und gibt erst dann den Knoten selbst aus. Die Wurzel erscheint hierbei immer als Letzte. Die Knoten des Beispielbaumes listet die Postordnungs-Vorschrift folgendermassen auf:
a, e, d, k, g, p, u, x, s, m.
Offensichtlich gibt die Inordnungs-Traversierung die Elemente eines sortierten
Binärbaumes in sortierter Reihenfolge zurück. Diese Strategie müssen wir also anwenden, wenn wir
die Einträge unseres Wörterbuchs, wie in Aufgabe a) verlangt, nach den deutschen begriffen sortiert
auflisten möchten. Für Aufgabe c) eignet sich dagegen die Breitentraversierung.
Die Themen Inordnungs-Traversierung und Breitentraversierung betrachten diese beiden Verfahren deshalb etwas
genauer. Aufgabe b) wird in der
Übungsaufgabe "Wörterbuch Professional" gelöst.